package com.example.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.example.common.util.Result;
import com.example.dto.system.RouterDto;
import com.example.dto.system.SysMenuRoleDto;
import com.example.system.SysMenu;

import java.util.List;

public interface SysMenuService extends IService<SysMenu> {

    /**
     * 查询菜单列表
     * @return
     */
    Result findNodes();

    /**
     * 删除菜单
     * @param id
     * @return
     */
    Result remove(Long id);

    /**
     * 查询所有菜单和角色分配的菜单
     * @param roleId
     * @return
     */
    Result toAssign(Long roleId);

    /**
     * 为角色分配权限
     * @param sysMenuRoleDto
     * @return
     */
    Result doAssign(SysMenuRoleDto sysMenuRoleDto);

    /**
     * 获取用户菜单
     * @param userId
     * @return
     */
    List<RouterDto> findUserMenuList(Long userId);

    /**
     * 获取用户按钮权限
     * @param userId
     * @return
     */
    List<String> findUserPermsList(Long userId);

}
